簡介:本課程是Android Root初級教程的升級版。本課程中主要使用CM Android作為分析對象。從su命令創(chuàng)建LocalServer開始,分析在su.c、activity.c等源碼文件中如何與Superuser進行交互。同時,分析Superuser如何與su建立LocalSocket連接,以及如何通知su進行Root授權或拒絕Root授權
第1章 提取root權限安全嗎
本講主要回答了如下兩個個問題:
1、提取Root權限有什么安全隱患;
2、如何盡可能防御這些安全隱患
第2章 Superuser.apk為什么不見了
本講主要介紹了Superuser.apk文件和Settings的關系。也就是說,并不是每一個可以Root的Android系統(tǒng)都有Superuser.apk文件
第6章 初始化調用者信息
本講主要介紹了su中的from_init函數(shù)的作用,該函數(shù)用于初始化調用者數(shù)據(jù),如調用者ID
第7章 初始化路徑
本講主要介紹了user_init函數(shù)的作用,該函數(shù)用于初始化SQLite數(shù)據(jù)庫文件的路徑
第9章 查詢su.sqlite數(shù)據(jù)庫
本講主要介紹了如何檢查Superuser和su共用的su.sqlite數(shù)據(jù)庫文件是否存在
第10章 創(chuàng)建LocalSocket服務
本講主要介紹了socket_create_temp的實現(xiàn),該函數(shù)用于創(chuàng)建LocalSocket服務
第11章 通過am命令向Superuser傳遞數(shù)據(jù)
本講主要介紹了am和Superuser之間傳遞數(shù)據(jù)的方式
第13章 向Superuser傳遞調用者信息
本講主要介紹了su命令如何通過LocalSocket數(shù)據(jù)通道向Superuser傳遞調用者信息
第17章 Superuser向su回傳用戶的選擇
本講主要介紹了Superuser如何向su發(fā)送用戶的選擇